This invention relates generally to computer-aided design (CAD) models of three-dimensional objects. More particularly, it relates to a modeling system and file type for representing solid objects.
Recent years have witnessed rapid advances in the field of communication networks, including the growth of the world wide web. The web has made it possible for large numbers of users to share information and download files from remote data servers to their personal computers. In general, the information posted on the web is of the multi-media type, i.e., it includes data files with text, sound, graphics, pictures, photographs, video and other types of data. Some of this information is stored in large files and hence accessing it for viewing and/or listening purposes as well as downloading places high requirements on the link bandwidth between the user and the remote data server. It is therefore important that information shared over the web be packaged in files of minimal size.
Virtually all companies making consumer products have a web presence. Most of these companies display their products on the web by using descriptive text and pictures, since such files do not place an excessively high demand on link bandwidth. Unfortunately, using pictures to promote products does not give the consumer a real feel for the product. In order to make an informed decision, the consumer should have the ability to see, interact with and get an appreciation for the merchandise in its true three-dimensional form. The ability to get to know the product in this manner will provide the consumer with a shopping experience akin to that obtained in the real world.
As an additional service, many companies would like to provide maintenance manuals for their products online. Typical printed manuals accompanying their products tend to only include two-dimensional pictures and explanatory text. Given the multimedia capability of the web, the companies could provide their users with enhanced manuals illustrating the operation of their products and methods for performing routine inspections and adjustments of the products. The main obstacle to providing such services is the minimal network bandwidth and the lack of appropriate three-dimensional tools to create the models.
The prior art provides many data formats for making models of three-dimensional solid objects. In conventional computer aided design (CAD), a CSG tree is used to represent a solid. In CSG a solid is built up by combining simple geometric primitives (such as cubes, spheres, cones, etc.) using Boolean set operators and linear transformations. The object is stored as a tree. In addition to being a representational form, it also facilitates graphical interaction that enables engineering parts to be built up. Solids stored in a CSG tree have a compact file size.
Unfortunately, CSG has its limitations. It is a purely geometrical representation, in that only the geometry of the object can be represented using CSG. Hence, it is not possible to built interactive objects with multimedia and animation capabilities based on the CSG representation of solids.
The prior art also offers other formats for displaying three-dimensional objects on the web. These include VRML and X3D formats. Unfortunately, the file sizes obtained when using these formats are very large and are comparatively poor in features.
In sum, prior art formats for minimizing the sizes of data files and providing functionalities such as animation of the three-dimensional models are not satisfactory. The tradeoffs between sizes of the resultant files and the level of functionality are still not optimized and place excessive demands on link bandwidths.
In view of the above, it is an object of the present invention to provide a method and file type for representing three-dimensional objects in a format optimized for the available network bandwidth.
It is another object of the invention to provide a file format which is capable of providing multiple functionalities to the three-dimensional objects stored in this format and is suitable for applications involving networks. Specifically, the file format is to provide for animation capabilities and representation of non-geometric attributes of the models.
These and other objects and advantages of the invention will become apparent upon reading the detailed description.
The present invention provides a method of making a three dimensional virtual interactive model of an object to be displayed to a viewer. In accordance with the method, the object is translated into primitive nodes indicating geometrical attributes of the object as well as at least one non-geometrical attribute of the object. The object and its parts can perform dynamic behaviors and transformation behaviors. Dynamic behaviors of the object are coded in the form of interaction nodes and transformation behaviors of the object are coded in the form of transformation nodes. Combinatorial operations to be performed on a combination of at least one of the primitive nodes, interaction nodes and transformation nodes are coded in operations nodes. The three dimensional virtual interactive model of the object is built in the form of a tree using the primitive nodes, the interaction nodes, the transformation nodes and the operations nodes.
The tree representing the three-dimensional model of the object is a combination of all four types of nodes. The leaves of this tree are the primitive nodes. Since the tree stores the modeling history of the object, it is possible to easily edit or modify the object.
The dynamic behaviors and transformation behaviors of the object are determined from the functions the object is to perform and the manner in which the model is to interact with the viewer. The non-geometrical attribute can be selected from any number of possible attributes and can include attributes such as color, texture and transparency. The dynamic behaviors of the object include behaviors such as movements and sounds. The transformation behaviors include behaviors such as translation, rotation and scaling.
In a preferred embodiment the object, or rather the three-dimensional virtual model of the object is displayed to the viewer over a network. Because the size of the tree representing the model can be stored in a file that is small, the model can be easily displayed over a network having a comparatively low link bandwidth. For example, the network is the world wide web. Furthermore, it is convenient that the tree be constructed via a platform-independent interface.
The method of the invention can be encoded in proper software and stored. Hence, the invention further includes storing the steps involved in transforming the object into the model by building the tree. These steps can be stored in a suitable storage medium, such as a disk or any other local or distributed memory.
The particulars of the invention will now be explained in detail in the ensuing detailed description with reference to the enclosed drawing figures.